#!/usr/bin/python3
# author: zhaofeng-shu33
# -*- encoding: utf-8 -*-
# description: 66 organizations relationship visualization
# for social issues sometimes we do not need to scale the node (proportional to the number of students)
import numpy as np
import networkx as nx
org = ['清华大学精仪系紫荆志愿者支队', '清华大学建筑学院紫荆志愿者支队', '清华大学生物系紫荆志愿者支队', '清华大学\
机械系紫荆志愿者支队', '清华大学环境系紫荆志愿者支队', '清华大学热能系紫荆志愿者支队', '清华大学爱心公益协会\
', '清华大学化学系紫荆志愿者支队', '清华大学学生教育扶贫公益协会', '清华大学红十字会', '北京大学生命科学学院\
青年志愿者协会', '清华大学航天航空学院紫荆志愿者支队', '北京大学青年志愿者协会', '清华大学领航志愿服务团', '\
北京大学红十字会学生分会', '清华大学学生绿色协会', '清华大学自动化系紫荆志愿者支队', '清华大学汽车系紫荆志愿\
者支队', '清华大学义务讲解支队', '清华大学经济管理学院紫荆志愿者支队', '清华大学土木系紫荆志愿者支队', '清华\
大学唐仲英爱心社', '清华大学电机系紫荆志愿者支队', '清华大学水利系紫荆志愿者支队', '清华大学化工系紫荆志愿者\
支队', '清华大学计算机系紫荆志愿者支队', '清华大学材料系紫荆志愿者支队', '清华大学电子系紫荆志愿者支队', '北\
京大学元培学院青年志愿者协会', '清华大学美术学院紫荆志愿者支队', '清华大学学生书脊支教团', '北京大学法律援助\
协会', '清华大学工业工程系紫荆志愿者支队', '清华大学工物系紫荆志愿者支队', '清华大学学习发展中心', '北京大学\
化学与分子工程学院青年志愿者协会', '北京大学心理学系青协', '清华大学法学院紫荆志愿者支队', '清华大学手语社',\
 '清华大学医学院紫荆志愿者支队', '北京大学经济学院青年志愿者协会', '清华大学粉刷匠工作室“优化校园，粉刷梦想\
”志愿服务队', '清华大学物理系紫荆志愿者支队', '北京大学光华管理学院青年志愿者协会', '清华大学国际志愿服务队\
', '北京大学流浪猫关爱协会', '清华大学软件学院紫荆志愿者支队', '北京大学百周年纪念讲堂学生志愿者协会', '清华\
大学数学系紫荆志愿者支队', '北京大学政府管理学院团委青年志愿者协会', '清华大学人文学院志愿服务团', '清华大学\
社科学院紫荆志愿者支队', '北京大学爱心社', '北京大学环境科学与工程学院团委青年志愿者协会', '北京大学信息管理\
系青年志愿者协会', '北京大学软微学院青年志愿者协会', '北京大学城市与环境学院青年志愿者协会', '北京大学外国语学院青年志愿者协会', '北京大学物\
理学院青年志愿者协会', '北京大学地球与空间科学学院青年志愿者协会', '北京大学艺术学院青年志愿者协会', '北京大\
学校史馆志愿讲解队', '清华大学学生关爱留守儿童协会', '北京大学信息科学技术学院青年志愿者协会', '北京大学社会\
学系青年志愿者协会', '清华大学新闻与传播学院志愿中心']
link_strength = 0.03
if __name__ == '__main__':
    similarity_matrix = np.load('item_cosine_similarity.npx')
    row, col = similarity_matrix.shape
    g = nx.Graph()
    for i in range(len(org)):
        g.add_node(i, name = org[i])
    for i in range(row):
        for j in range(i,col):
            if(similarity_matrix[i,j]> link_strength):
                g.add_edge(i, j)
    nx.write_gml(g, './org_graph.gml')